import os
import glob

# 设置包含.txt标注文件的文件夹路径
input_folder = r'data\pose4\val\labels'
# 设置保存转换后文件的文件夹路径
output_folder = './data/newPose'

# 确保输出文件夹存在
if not os.path.exists(output_folder):
    os.makedirs(output_folder)

# 获取所有.txt文件的路径
file_paths = glob.glob(os.path.join(input_folder, '*.txt'))

# 遍历所有文件
for file_path in file_paths:
    # 读取文件内容
    with open(file_path, 'r') as file:
        lines = file.readlines()

    # 准备一个空列表来存储dim2坐标的行
    dim2_lines = []

    # 遍历文件中的每一行
    for line in lines:
        # 假设每行的格式是 "class x y z x y z ..."
        parts = line.strip().split()
        class_id = parts[0]
        bbox = parts[1:5]
        coordinates = parts[5:]

        # 将dim3坐标转换为dim2坐标
        dim2_coord = []
        for i in range(0, len(coordinates), 3):
            dim2_coord.extend([coordinates[i], coordinates[i+1]])

        # 重新构造行并添加到dim2坐标的行列表中
        dim2_lines.append(' '.join([class_id] + bbox + dim2_coord) + '\n')
    # print(dim2_lines)
    # break

    # 获取输出文件的路径
    output_file_path = os.path.join(output_folder, os.path.basename(file_path))

    # 将dim2坐标的行写入新的文件
    with open(output_file_path, 'w') as file:
        file.writelines(dim2_lines)

print("所有文件处理完成。")
